// 生成JWT
import { SignJWT, importPKCS8 } from 'jose'
// import { decode /* encode */ } from 'jose/base64url'
async function generalJWt() {
  const privateKeyPem = String(import.meta.env.VITE_PRIVATE_KEY)

  const privateKey = await importPKCS8(privateKeyPem, 'EdDSA')

  /* 1. 构造 header、payload 对象 */
  const header = { alg: 'EdDSA', kid: import.meta.env.VITE_HF_KEY }
  const iat = Math.floor(Date.now() / 1000) - 30 //得到秒数
  const exp = iat + 9000 // 过期时间+15分钟
  const payload = {
    sub: import.meta.env.VITE_PROJECT_ID,
    iat,
    exp,
  }
  // 生成JWT
  const jwt = await new SignJWT(payload).setProtectedHeader(header).sign(privateKey)

  // console.log('JWT:', jwt)
  return { jwt, exp }
}

export default generalJWt
